1. Field of the Invention
The invention relates to information storage, retrieval and presentation systems. More particularly, it relates to new techniques for the efficient presentation of hierarchical information via a Graphical User Interface (GUI) treeview structure.
2. Description of the Related Art
Tree based views are in common use in a wide variety of applications to visually display and provide access to hierarchically organized information. Common examples of such hierarchical information include: electronic file management structures; database file, record, and field structures; software modules, procedures, and sub-procedures; and practically any information base in which the information elements contained within are related via a successive series of parent/child relationships.
The graphical user interface (GUI) based treeview is a structure found in many products such as electronic file management applications, database development and administration tools, and software development editors. Such products typically allow a user to navigate the treeview via a GUI interface that supports vertical and horizontal scrolling and the expansion and compression of the treeview information branches. Compressed branches of the tree can be selected and expanded to reveal underlying elements, which in turn can be expanded. Expanded branches can be selected and compressed to display only the previously expanded parent element.
FIG. 1, presents a recorded screen display or window 102 from a computer running an electronic file management application. The features presented in FIG. 1 are representative of a GUI application window 102 that incorporates a traditional treeview. Standard features included an application menu bar 104, a set of quick action buttons 106, and an address bar 108 that displays the position within the hierarchy structure of the currently selected treeview element. The treeview itself is typically presented in a left-hand portion, or pane 110 of the window, that displays a nested hierarchy of information organized under a root element 114. By using the cursor to double click on the root element 114 the treeview is expanded to display a secondary tier of elements 116. Elements that contain additional hierarchy elements are typically identified with a graphical indicator such as a “+.” Elements which have already been expanded are typically marked with a graphical indicator such as a “−.” Branches of the tree can typically be expanded or compressed by clicking on these graphical indicators. A right-hand portion, or pane 112 of the window, displays the contents of the currently selected element. If the selected element is a node within a directory structure, the contents displayed is the next layer of elements 120. Depending upon the nature of the application, however, if the selected treeview element were a pointer to a data structure or a text file, the right-hand pane 112 can be used to display the contents of the data structure or text file, respectively.
Although expansion and compression of treeview elements facilitates manual browsing of the information hierarchy, the majority of existing tools also support a treeview search facility that allows a user to quickly locate specific information elements within the treeview. FIG. 2 presents a representative search control pop-up window 122 supported by the electronic file management application and invoked via the menu option “Tools/Find.” A user can specify search criteria 124/126, the location in the hierarchy below which the application is to search 128, and initiate the search by clicking on the “Find Now” button 130.
Unfortunately, the majority of such search routines do not return search results within the context of the treeview display. For example, as shown in FIG. 3, the electronic file management application returns search results 134 within a secondary search window 132, entirely separate from the original treeview display window. Only a text based path is provided to indicate the location of an individual element within the information hierarchy. As a consequence, the search results are presented in a manner that is disjointed from the graphical treeview context in which the results can be most intuitively viewed. The user is forced to shift his or her attention back and forth between the text based search results window and the graphical treeview window in order to manually locate the text based search results within the context of the graphical treeview, at the expense of substantial inefficiency and human error.
FIG. 4, presents the GUI interface 202 to a typical operating system (O/S) administration tool used to edit operating system data files. The menu options 204, right-hand and left-hand display windows or panes 210/212, treeview elements 214/218, and search pop-up window 222 operate in the same manner as described in relation to the electronic file management application previously discussed.
Search results returned by the O/S file editor, however, are not returned in a separate window. When a search is initiated the treeview is expanded to display the first matching element, and the search is discontinued. For example, FIG. 5 presents the initial results of a search performed within an O/S file editor that incorporates a traditional treeview for a element containing the letters “net.” As shown in FIG. 5, upon locating the first element within the treeview containing the letters “net,” the O/S file editor expands the tree and highlights the matching element 234 within the context of the treeview. However, the search results are presented within the treeview left-hand pane 210, without compressing or hiding irrelevant portions of the tree. As a consequence, the treeview display contains a large amount of irrelevant information 236 that deprives the user of the hierarchical context that the treeview based display is meant to preserve. As demonstrated in FIG. 5, the expanded treeview has so many elements that upon expanding even a single branch, none of the relationships with respect to parent elements are visible within the display. To determine the hierarchical context of the search results, a user is forced to scroll upwards through a significant number of irrelevant treeview elements to determine the identity of the parent element in the information hierarchy. Such a presentation of search results is often as cumbersome as receiving search results in a separate GUI window that presents text based paths.
Another drawback of the approach used by this O/S file editor using a traditional treeview is that upon locating a first matching element the search terminates, requiring the user to re-execute the search to find the next matching term. If a large number of matches exist, such an approach is quite exhaustive. Furthermore, the user is never presented with a comprehensive assessment of the number of total matches within the information hierarchy, nor a way of easily navigating between matching elements.
Hence, there remains a strong need for methods and apparatuses that allow treeview representations of hierarchical information to be quickly and effectively searched. Further, there is a strong need for an enhanced treeview that is capable of presenting the results of such a search efficiently and effectively within the context of the treeview hierarchy together with summary information such as the number of matching elements located by a search.